package com.visizen.wisdomclass.server.client;

import com.visizen.wisdomclass.server.model.WcDiscussCommentReply;
import com.visizen.wisdomclass.server.model.WcDiscussCommentReplyExample;
import java.util.List;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.DeleteProvider;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.InsertProvider;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.SelectProvider;
import org.apache.ibatis.annotations.Update;
import org.apache.ibatis.annotations.UpdateProvider;
import org.apache.ibatis.type.JdbcType;

public interface WcDiscussCommentReplyMapper {

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table wc_discuss_comment_reply
	 * @mbggenerated
	 */
	@SelectProvider(type = WcDiscussCommentReplySqlProvider.class, method = "countByExample")
	int countByExample(WcDiscussCommentReplyExample example);

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table wc_discuss_comment_reply
	 * @mbggenerated
	 */
	@DeleteProvider(type = WcDiscussCommentReplySqlProvider.class, method = "deleteByExample")
	int deleteByExample(WcDiscussCommentReplyExample example);

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table wc_discuss_comment_reply
	 * @mbggenerated
	 */
	@Delete({ "delete from wc_discuss_comment_reply",
			"where comment_reply_id = #{comment_reply_id,jdbcType=BIGINT}" })
	int deleteByPrimaryKey(Long comment_reply_id);

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table wc_discuss_comment_reply
	 * @mbggenerated
	 */
	@Insert({
			"insert into wc_discuss_comment_reply (comment_reply_id, discuss_comment_id, ",
			"user_id, equip_id, ",
			"reply_time, target_user_id, ",
			"is_anonymous, reply_content)",
			"values (#{comment_reply_id,jdbcType=BIGINT}, #{discuss_comment_id,jdbcType=BIGINT}, ",
			"#{user_id,jdbcType=BIGINT}, #{equip_id,jdbcType=BIGINT}, ",
			"#{reply_time,jdbcType=TIMESTAMP}, #{target_user_id,jdbcType=BIGINT}, ",
			"#{is_anonymous,jdbcType=INTEGER}, #{reply_content,jdbcType=LONGVARCHAR})" })
	int insert(WcDiscussCommentReply record);

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table wc_discuss_comment_reply
	 * @mbggenerated
	 */
	@InsertProvider(type = WcDiscussCommentReplySqlProvider.class, method = "insertSelective")
	int insertSelective(WcDiscussCommentReply record);

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table wc_discuss_comment_reply
	 * @mbggenerated
	 */
	@SelectProvider(type = WcDiscussCommentReplySqlProvider.class, method = "selectByExampleWithBLOBs")
	@Results({
			@Result(column = "comment_reply_id", property = "comment_reply_id", jdbcType = JdbcType.BIGINT, id = true),
			@Result(column = "discuss_comment_id", property = "discuss_comment_id", jdbcType = JdbcType.BIGINT),
			@Result(column = "user_id", property = "user_id", jdbcType = JdbcType.BIGINT),
			@Result(column = "equip_id", property = "equip_id", jdbcType = JdbcType.BIGINT),
			@Result(column = "reply_time", property = "reply_time", jdbcType = JdbcType.TIMESTAMP),
			@Result(column = "target_user_id", property = "target_user_id", jdbcType = JdbcType.BIGINT),
			@Result(column = "is_anonymous", property = "is_anonymous", jdbcType = JdbcType.INTEGER),
			@Result(column = "reply_content", property = "reply_content", jdbcType = JdbcType.LONGVARCHAR) })
	List<WcDiscussCommentReply> selectByExampleWithBLOBs(
			WcDiscussCommentReplyExample example);

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table wc_discuss_comment_reply
	 * @mbggenerated
	 */
	@SelectProvider(type = WcDiscussCommentReplySqlProvider.class, method = "selectByExample")
	@Results({
			@Result(column = "comment_reply_id", property = "comment_reply_id", jdbcType = JdbcType.BIGINT, id = true),
			@Result(column = "discuss_comment_id", property = "discuss_comment_id", jdbcType = JdbcType.BIGINT),
			@Result(column = "user_id", property = "user_id", jdbcType = JdbcType.BIGINT),
			@Result(column = "equip_id", property = "equip_id", jdbcType = JdbcType.BIGINT),
			@Result(column = "reply_time", property = "reply_time", jdbcType = JdbcType.TIMESTAMP),
			@Result(column = "target_user_id", property = "target_user_id", jdbcType = JdbcType.BIGINT),
			@Result(column = "is_anonymous", property = "is_anonymous", jdbcType = JdbcType.INTEGER) })
	List<WcDiscussCommentReply> selectByExample(
			WcDiscussCommentReplyExample example);

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table wc_discuss_comment_reply
	 * @mbggenerated
	 */
	@Select({
			"select",
			"comment_reply_id, discuss_comment_id, user_id, equip_id, reply_time, target_user_id, ",
			"is_anonymous, reply_content", "from wc_discuss_comment_reply",
			"where comment_reply_id = #{comment_reply_id,jdbcType=BIGINT}" })
	@Results({
			@Result(column = "comment_reply_id", property = "comment_reply_id", jdbcType = JdbcType.BIGINT, id = true),
			@Result(column = "discuss_comment_id", property = "discuss_comment_id", jdbcType = JdbcType.BIGINT),
			@Result(column = "user_id", property = "user_id", jdbcType = JdbcType.BIGINT),
			@Result(column = "equip_id", property = "equip_id", jdbcType = JdbcType.BIGINT),
			@Result(column = "reply_time", property = "reply_time", jdbcType = JdbcType.TIMESTAMP),
			@Result(column = "target_user_id", property = "target_user_id", jdbcType = JdbcType.BIGINT),
			@Result(column = "is_anonymous", property = "is_anonymous", jdbcType = JdbcType.INTEGER),
			@Result(column = "reply_content", property = "reply_content", jdbcType = JdbcType.LONGVARCHAR) })
	WcDiscussCommentReply selectByPrimaryKey(Long comment_reply_id);

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table wc_discuss_comment_reply
	 * @mbggenerated
	 */
	@UpdateProvider(type = WcDiscussCommentReplySqlProvider.class, method = "updateByExampleSelective")
	int updateByExampleSelective(@Param("record") WcDiscussCommentReply record,
			@Param("example") WcDiscussCommentReplyExample example);

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table wc_discuss_comment_reply
	 * @mbggenerated
	 */
	@UpdateProvider(type = WcDiscussCommentReplySqlProvider.class, method = "updateByExampleWithBLOBs")
	int updateByExampleWithBLOBs(@Param("record") WcDiscussCommentReply record,
			@Param("example") WcDiscussCommentReplyExample example);

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table wc_discuss_comment_reply
	 * @mbggenerated
	 */
	@UpdateProvider(type = WcDiscussCommentReplySqlProvider.class, method = "updateByExample")
	int updateByExample(@Param("record") WcDiscussCommentReply record,
			@Param("example") WcDiscussCommentReplyExample example);

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table wc_discuss_comment_reply
	 * @mbggenerated
	 */
	@UpdateProvider(type = WcDiscussCommentReplySqlProvider.class, method = "updateByPrimaryKeySelective")
	int updateByPrimaryKeySelective(WcDiscussCommentReply record);

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table wc_discuss_comment_reply
	 * @mbggenerated
	 */
	@Update({ "update wc_discuss_comment_reply",
			"set discuss_comment_id = #{discuss_comment_id,jdbcType=BIGINT},",
			"user_id = #{user_id,jdbcType=BIGINT},",
			"equip_id = #{equip_id,jdbcType=BIGINT},",
			"reply_time = #{reply_time,jdbcType=TIMESTAMP},",
			"target_user_id = #{target_user_id,jdbcType=BIGINT},",
			"is_anonymous = #{is_anonymous,jdbcType=INTEGER},",
			"reply_content = #{reply_content,jdbcType=LONGVARCHAR}",
			"where comment_reply_id = #{comment_reply_id,jdbcType=BIGINT}" })
	int updateByPrimaryKeyWithBLOBs(WcDiscussCommentReply record);

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table wc_discuss_comment_reply
	 * @mbggenerated
	 */
	@Update({ "update wc_discuss_comment_reply",
			"set discuss_comment_id = #{discuss_comment_id,jdbcType=BIGINT},",
			"user_id = #{user_id,jdbcType=BIGINT},",
			"equip_id = #{equip_id,jdbcType=BIGINT},",
			"reply_time = #{reply_time,jdbcType=TIMESTAMP},",
			"target_user_id = #{target_user_id,jdbcType=BIGINT},",
			"is_anonymous = #{is_anonymous,jdbcType=INTEGER}",
			"where comment_reply_id = #{comment_reply_id,jdbcType=BIGINT}" })
	int updateByPrimaryKey(WcDiscussCommentReply record);
}